home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / catD / copymsg.z / copymsg
Encoding:
Text File  |  1998-10-30  |  6.8 KB  |  132 lines

  1.  
  2.  
  3.  
  4. ccccooooppppyyyymmmmssssgggg((((DDDD3333))))                                                        ccccooooppppyyyymmmmssssgggg((((DDDD3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _cccc_oooo_pppp_yyyy_mmmm_ssss_gggg - copy a message
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_ssss_tttt_rrrr_eeee_aaaa_mmmm_...._hhhh_>>>>
  13.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_dddd_dddd_iiii_...._hhhh_>>>>
  14.      _mmmm_bbbb_llll_kkkk______tttt _****_cccc_oooo_pppp_yyyy_mmmm_ssss_gggg_((((_mmmm_bbbb_llll_kkkk______tttt _****_m_p_))))_;;;;
  15.  
  16.    AAAArrrrgggguuuummmmeeeennnnttttssss
  17.      _m_p        Pointer to the message to be copied.
  18.  
  19. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  20.      _cccc_oooo_pppp_yyyy_mmmm_ssss_gggg forms a new message by allocating new message blocks, copies the
  21.      contents of the message referred to by _m_p (using the _cccc_oooo_pppp_yyyy_bbbb(D3) function),
  22.      and returns a pointer to the new message.
  23.  
  24.    RRRReeeettttuuuurrrrnnnn VVVVaaaalllluuuueeeessss
  25.      On success, _cccc_oooo_pppp_yyyy_mmmm_ssss_gggg returns a pointer to the new message.  On failure, it
  26.      returns a _NNNN_UUUU_LLLL_LLLL pointer.
  27.  
  28. UUUUSSSSAAAAGGGGEEEE
  29.    LLLLeeeevvvveeeellll
  30.      Base or Interrupt.
  31.  
  32.    SSSSyyyynnnncccchhhhrrrroooonnnniiiizzzzaaaattttiiiioooonnnn CCCCoooonnnnssssttttrrrraaaaiiiinnnnttttssss
  33.      Does not sleep.
  34.  
  35.      Driver-defined basic locks, read/write locks, and sleep locks may be held
  36.      across calls to this function.
  37.  
  38.    EEEExxxxaaaammmmpppplllleeeessss
  39.      The routine _llll_cccc_tttt_oooo_uuuu_cccc converts all the lower case ASCII characters in the
  40.      message to upper case.  If the reference count is greater than one (line
  41.      8), then the message is shared, and must be copied before changing the
  42.      contents of the data buffer.  If the call to _cccc_oooo_pppp_yyyy_mmmm_ssss_gggg fails (line 9), we
  43.      return _NNNN_UUUU_LLLL_LLLL (line 10).  Otherwise, we free the original message (line
  44.      11).  If the reference count was equal to one, the message can be
  45.      modified.  For each character (line 16) in each message block (line 15),
  46.      if it is a lower case letter, we convert it to an upper case letter (line
  47.      18).  When done, we return a pointer to the converted message (line 21).
  48.  
  49.       _1111  _mmmm_bbbb_llll_kkkk______tttt _****_llll_cccc_tttt_oooo_uuuu_cccc_((((_mmmm_pppp_))))
  50.       _2222   _mmmm_bbbb_llll_kkkk______tttt _****_mmmm_pppp_;;;;
  51.       _3333  _{{{{
  52.       _4444   _mmmm_bbbb_llll_kkkk______tttt _****_cccc_mmmm_pppp_;;;;
  53.       _5555   _mmmm_bbbb_llll_kkkk______tttt _****_tttt_mmmm_pppp_;;;;
  54.       _6666   _uuuu_cccc_hhhh_aaaa_rrrr______tttt _****_cccc_pppp_;;;;
  55.       _7777
  56.       _8888   _iiii_ffff _((((_mmmm_pppp_----_>>>>_bbbb______dddd_aaaa_tttt_aaaa_pppp_----_>>>>_dddd_bbbb______rrrr_eeee_ffff _>>>> _1111_)))) _{{{{
  57.       _9999        _iiii_ffff _((((_((((_cccc_mmmm_pppp _==== _cccc_oooo_pppp_yyyy_mmmm_ssss_gggg_((((_mmmm_pppp_))))_)))) _====_==== _NNNN_UUUU_LLLL_LLLL_))))
  58.      _1111_0000             _rrrr_eeee_tttt_uuuu_rrrr_nnnn_((((_NNNN_UUUU_LLLL_LLLL_))))_;;;;
  59.      _1111_1111        _ffff_rrrr_eeee_eeee_mmmm_ssss_gggg_((((_mmmm_pppp_))))_;;;;
  60.  
  61.  
  62.                                                                         PPPPaaaaggggeeee 1111
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69. ccccooooppppyyyymmmmssssgggg((((DDDD3333))))                                                        ccccooooppppyyyymmmmssssgggg((((DDDD3333))))
  70.  
  71.  
  72.  
  73.      _1111_2222   _}}}} _eeee_llll_ssss_eeee _{{{{
  74.      _1111_3333        _cccc_mmmm_pppp _==== _mmmm_pppp_;;;;
  75.      _1111_4444   _}}}}
  76.      _1111_5555   _ffff_oooo_rrrr _((((_tttt_mmmm_pppp _==== _cccc_mmmm_pppp_;;;; _tttt_mmmm_pppp_;;;; _tttt_mmmm_pppp _==== _tttt_mmmm_pppp_----_>>>>_bbbb______nnnn_eeee_xxxx_tttt_)))) _{{{{
  77.      _1111_6666        _ffff_oooo_rrrr _((((_cccc_pppp _==== _tttt_mmmm_pppp_----_>>>>_bbbb______rrrr_pppp_tttt_rrrr_;;;; _cccc_pppp _<<<< _tttt_mmmm_pppp_----_>>>>_bbbb______wwww_pppp_tttt_rrrr_;;;; _cccc_pppp_++++_++++_)))) _{{{{
  78.      _1111_7777             _iiii_ffff _((((_((((_****_cccc_pppp _<<<<_==== _''''_zzzz_''''_)))) _&&&&_&&&& _((((_****_cccc_pppp _>>>>_==== _''''_aaaa_''''_))))_))))
  79.      _1111_8888                  _****_cccc_pppp _----_==== _0000_xxxx_2222_0000_;;;;
  80.      _1111_9999        _}}}}
  81.      _2222_0000   _}}}}
  82.      _2222_1111   _rrrr_eeee_tttt_uuuu_rrrr_nnnn_((((_cccc_mmmm_pppp_))))_;;;;
  83.      _2222_2222  _}}}}
  84.  
  85. RRRREEEEFFFFEEEERRRREEEENNNNCCCCEEEESSSS
  86.      _aaaa_llll_llll_oooo_cccc_bbbb(D3), _cccc_oooo_pppp_yyyy_bbbb(D3), _mmmm_ssss_gggg_bbbb(D4)
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.                                                                         PPPPaaaaggggeeee 2222
  129.  
  130.  
  131.  
  132.